* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4vmin;
    overflow: hidden;
    min-height: 100vh;
    background-color: #112222;
}

button {
    /* 超出部分隐藏 */
    overflow: hidden;
    /* 撑开按钮 */
    padding: 4vmin 8vmin;
    /* 去掉边框，给个圆角 */
    border: none;
    border-radius: 10vmin;
    /* 按钮的背景颜色 */
    background-image: linear-gradient(90deg, #0acffe, #495aff);
    color: #fff;
    font-size: 6vmin;
    font-weight: bold;
    /* 字间距 */
    letter-spacing: 1vmin;
    cursor: pointer;
    position: relative;
}

button:nth-child(2) {
    background-image: linear-gradient(90deg, #ed6ea0, #ec8c69);
}

button span {
    background-color: #fff;
    border-radius: 50%;
    /* 舒博问元素不会对鼠标事件造成干扰 */
    pointer-events: none;
    position: absolute;
    /* 圆中心 */
    transform: translate(-50%, -50%);
    /* 扩散动画 */
    animation: animate 1s ease-out infinite;
}

@keyframes animate {
    0% {
        width: 0;
        height: 0;
        opacity: 0.5;
    }
    100% {
        width: 100vmin;
        height: 100vmin;
        opacity: 0;
    }
}